package com.xydtech.ecard.merchant.service.impl;

import com.xydtech.common.annotation.DataScope;
import com.xydtech.common.utils.AESEncryptionUtils;
import com.xydtech.common.utils.StringUtils;
import com.xydtech.ecard.merchant.domain.EcardBranchAgriculturePartInfo;
import com.xydtech.ecard.merchant.domain.EcardBranchEnterprisePartInfo;
import com.xydtech.ecard.merchant.domain.EcardBranchPartInfo;
import com.xydtech.ecard.merchant.domain.EcardBranchPersonPartInfo;
import com.xydtech.ecard.merchant.mapper.EcardBranchPartInfoMapper;
import com.xydtech.ecard.merchant.service.IEcardBranchPartInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 商户成员统计Service业务层处理
 *
 * @author yuzhiguo
 * @date 2024-05-20 15:07
 */
@Service
public class EcardBranchPartInfoServiceImpl implements IEcardBranchPartInfoService {

    @Autowired
    private EcardBranchPartInfoMapper ecardBranchPartInfoMapper;

    /**
     * 查询商户成员统计信息列表
     * @param ecardBranchPartInfo
     * @return
     */
    @Override
    @DataScope(userAlias = "c",deptAlias = "d")
    public List<EcardBranchPartInfo> selectBranchPartInfoList(EcardBranchPartInfo ecardBranchPartInfo, String salt) {
        try {
            //数据加密（手机号、身份证号）
            if (!StringUtils.objIsNullOrEmpty(ecardBranchPartInfo.getPhone())) {
                ecardBranchPartInfo.setPhone(AESEncryptionUtils.encrypt(ecardBranchPartInfo.getPhone(), salt));
            }
            if (!StringUtils.objIsNullOrEmpty(ecardBranchPartInfo.getIdCard())) {
                ecardBranchPartInfo.setIdCard(AESEncryptionUtils.encrypt(ecardBranchPartInfo.getIdCard(), salt));
            }
            List<EcardBranchPartInfo> branchPartInfoList = ecardBranchPartInfoMapper.selectBranchPartInfoList(ecardBranchPartInfo);
            if (branchPartInfoList.size() > 0) {
                for (EcardBranchPartInfo branchPartInfo : branchPartInfoList) {
                    //数据解密（手机号、身份证号）
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getPhone())) {
                        branchPartInfo.setPhone(AESEncryptionUtils.decrypt(branchPartInfo.getPhone(), salt));
                    }
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getIdCard())) {
                        branchPartInfo.setIdCard(AESEncryptionUtils.decrypt(branchPartInfo.getIdCard(), salt));
                    }
                }
            }
            return branchPartInfoList;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 查询企业成员统计信息列表
     * @param ecardBranchEnterprisePartInfo
     * @return
     */
    @Override
    @DataScope(userAlias = "c",deptAlias = "d")
    public List<EcardBranchEnterprisePartInfo> selectBranchEnterprisePartInfoList(EcardBranchEnterprisePartInfo ecardBranchEnterprisePartInfo, String salt) {
        try {
            //数据加密（手机号、身份证号）
            if (!StringUtils.objIsNullOrEmpty(ecardBranchEnterprisePartInfo.getPhone())) {
                ecardBranchEnterprisePartInfo.setPhone(AESEncryptionUtils.encrypt(ecardBranchEnterprisePartInfo.getPhone(), salt));
            }
            if (!StringUtils.objIsNullOrEmpty(ecardBranchEnterprisePartInfo.getIdCard())) {
                ecardBranchEnterprisePartInfo.setIdCard(AESEncryptionUtils.encrypt(ecardBranchEnterprisePartInfo.getIdCard(), salt));
            }
            List<EcardBranchEnterprisePartInfo> branchPartInfoList = ecardBranchPartInfoMapper.selectBranchEnterprisePartInfoList(ecardBranchEnterprisePartInfo);
            if (branchPartInfoList.size() > 0) {
                for (EcardBranchEnterprisePartInfo branchPartInfo : branchPartInfoList) {
                    //数据解密（手机号、身份证号）
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getPhone())) {
                        branchPartInfo.setPhone(AESEncryptionUtils.decrypt(branchPartInfo.getPhone(), salt));
                    }
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getIdCard())) {
                        branchPartInfo.setIdCard(AESEncryptionUtils.decrypt(branchPartInfo.getIdCard(), salt));
                    }
                }
            }
            return branchPartInfoList;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 查询农业成员统计信息列表
     * @param ecardBranchAgriculturePartInfo
     * @return
     */
    @Override
    @DataScope(userAlias = "c",deptAlias = "d")
    public List<EcardBranchAgriculturePartInfo> selectBranchAgriculturePartInfoList(EcardBranchAgriculturePartInfo ecardBranchAgriculturePartInfo, String salt) {
        try {
            //数据加密（手机号、身份证号）
            if (!StringUtils.objIsNullOrEmpty(ecardBranchAgriculturePartInfo.getPhone())) {
                ecardBranchAgriculturePartInfo.setPhone(AESEncryptionUtils.encrypt(ecardBranchAgriculturePartInfo.getPhone(), salt));
            }
            if (!StringUtils.objIsNullOrEmpty(ecardBranchAgriculturePartInfo.getIdCard())) {
                ecardBranchAgriculturePartInfo.setIdCard(AESEncryptionUtils.encrypt(ecardBranchAgriculturePartInfo.getIdCard(), salt));
            }
            List<EcardBranchAgriculturePartInfo> branchPartInfoList = ecardBranchPartInfoMapper.selectBranchAgriculturePartInfoList(ecardBranchAgriculturePartInfo);
            if (branchPartInfoList.size() > 0) {
                for (EcardBranchAgriculturePartInfo branchPartInfo : branchPartInfoList) {
                    //数据解密（手机号、身份证号）
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getPhone())) {
                        branchPartInfo.setPhone(AESEncryptionUtils.decrypt(branchPartInfo.getPhone(), salt));
                    }
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getIdCard())) {
                        branchPartInfo.setIdCard(AESEncryptionUtils.decrypt(branchPartInfo.getIdCard(), salt));
                    }
                }
            }
            return branchPartInfoList;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 查询个人成员统计信息列表
     * @param ecardBranchPersonPartInfo
     * @return
     */
    @Override
    @DataScope(userAlias = "c",deptAlias = "d")
    public List<EcardBranchPersonPartInfo> selectBranchPersonPartInfoList(EcardBranchPersonPartInfo ecardBranchPersonPartInfo, String salt) {
        try {
            //数据加密（手机号、身份证号）
            if (!StringUtils.objIsNullOrEmpty(ecardBranchPersonPartInfo.getPhone())) {
                ecardBranchPersonPartInfo.setPhone(AESEncryptionUtils.encrypt(ecardBranchPersonPartInfo.getPhone(), salt));
            }
            if (!StringUtils.objIsNullOrEmpty(ecardBranchPersonPartInfo.getIdCard())) {
                ecardBranchPersonPartInfo.setIdCard(AESEncryptionUtils.encrypt(ecardBranchPersonPartInfo.getIdCard(), salt));
            }
            List<EcardBranchPersonPartInfo> branchPartInfoList = ecardBranchPartInfoMapper.selectBranchPersonPartInfoList(ecardBranchPersonPartInfo);
            if (branchPartInfoList.size() > 0) {
                for (EcardBranchPersonPartInfo branchPartInfo : branchPartInfoList) {
                    //数据解密（手机号、身份证号）
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getPhone())) {
                        branchPartInfo.setPhone(AESEncryptionUtils.decrypt(branchPartInfo.getPhone(), salt));
                    }
                    if (!StringUtils.objIsNullOrEmpty(branchPartInfo.getIdCard())) {
                        branchPartInfo.setIdCard(AESEncryptionUtils.decrypt(branchPartInfo.getIdCard(), salt));
                    }
                }
            }
            return branchPartInfoList;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
